package com.offics.loan.application.dto.loan;

import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * 贷款计算响应
 */
@Data
public class LoanCalculateResponse {

    /**
     * 贷款金额（单位：分）
     */
    private Long amount;

    /**
     * 贷款期限（单位：月）
     */
    private Integer period;

    /**
     * 贷款利率（年化）
     */
    private BigDecimal interestRate;

    /**
     * 月供（单位：分）
     */
    private Long monthlyPayment;

    /**
     * 总还款额（单位：分）
     */
    private Long totalPayment;

    /**
     * 总利息（单位：分）
     */
    private Long totalInterest;

    /**
     * 还款计划
     */
    private List<RepaymentPlanDetail> repaymentPlan;

    /**
     * 还款计划详情
     */
    @Data
    public static class RepaymentPlanDetail {
        /**
         * 期数
         */
        private Integer period;

        /**
         * 月供（单位：分）
         */
        private Long amount;

        /**
         * 本金（单位：分）
         */
        private Long principal;

        /**
         * 利息（单位：分）
         */
        private Long interest;

        /**
         * 剩余本金（单位：分）
         */
        private Long remainingPrincipal;
    }
}